Modern vehicles include a vast array of sensors, electronic control units and actuators for systems such as air bags, power steering, braking, engine management, gearbox control, and many others. Typically, these electronic components are themselves comprised of embedded systems having a microcontroller configured to control operation of actuators by selectively processing data received from the sensors. For microcontrollers operating in safety critical and other systems, such microcontrollers must be able to handle stability issues arising from hardware and software anomalies.
Since embedded systems typically do not have users present to reset the microcontroller, watchdog timers are often used to ensure that the microcontroller is operating properly. Watchdog timers contain counters that continually increment their value. When operating correctly, the microcontroller periodically resets the counter to prevent it from reaching a value that violates a threshold value. However, when malfunctioning (e.g., in the case of a code crash) the microcontroller does not reset the counter and its value eventually reaches the threshold value. Upon reaching the threshold value, the watchdog timer will reset the microcontroller to fix the error.